Industrial vision cameras and systems for factory and logistic automation are often based on three-dimensional (3D) machine vision, where 3D-images of an object are captured. By 3D-images is referred to images that encode also “depth” information and not only intensity and/or colour for pixel positions in two-dimensions (2D) as a conventional image. Processing is then applied to extract information on characteristics of the object from the 3D images, i.e. 3D-characteristics of the object.
3D machine vision systems are often based on active triangulation. In such a system there is a light source illuminating the object with a specific light pattern. It is common to use a sheet of light as the specific light pattern, e.g. produced by laser light. A camera with an image sensor is then arranged in relation to the light source and object so that the specific light pattern, when reflected by the object, become incident light on the image sensor. The portion of the object which by reflection causes the incident light on the image sensor is captured by the camera and image sensor, and image data is produced. With knowledge of the geometry of the system, the image data can then e.g. be converted to so called range data that provides information on a 3D shape, which may be referred to as a profile, of the object, corresponding to where the specific light pattern was reflected on the object. By moving the light source and/or the object, so that multiple portions of the object are illuminated and reflected light captured by the image sensor, data describing a more complete 3D shape of the object can be produced, e.g. corresponding to multiple, consecutive profiles, and a 3D model of the object can be created.
In particular for industrial applications, time is often strongly linked to cost and one of the most important factors is therefore high speed. It is desirable to be able to capture, process and provide output, e.g. image data corresponding to profiles of the object, at sufficient accuracy and speed. What is sufficient is different from case to case and e.g. dependent on application, what the machine vision output is to be used for etc.
One speed limiting factor of such 3D machine vision system as described above is the speed of the image sensor being used, which may be implemented as an Application Specific Integrated Circuit (ASIC) and/or comprised in a System on Chip (SoC). The image sensor is typically comprised in an image sensing device that may implement also additional functionality e.g. relating to processing of data output from the image sensor. One example of an image sensing device is a camera used by a 3D machine vision system, which camera comprises a lens and electronics connecting to the image sensor. Another example is an SoC comprising the image sensor and some processing of image data provided by the image sensor. In any case, the speed of the image sensing device is related to how fast the image data is acquired and provided by the image sensor, and to how fast any involved processing is carried out. Often image sensing devices for 3D machine vision systems are specifically adapted for certain application(s), e.g. allowing certain control of the image sensing device and/or provide certain functionality, which may involve that more or less processing is made “on-chip”. This kind of specific adaptation for certain application(s) is typically provided in order to enable higher speed, lower cost, smaller size, lower power consumption etc.
One example of an image sensing device comprising an image sensor pixel array is disclosed in GB 2492387 (A). The image sensor pixel array comprises a plurality of pixel structures. The arrangement enables selective control of pixel rows and columns which may be chosen to define individual pixels or groups of pixels/pixel regions for exposure time control different to that applied to the rest of the array.